package com.java.zhuiyun.api.sys_menu.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @ClassName Menu
 * @Description TODO
 * @Author xy
 * @Date 2023/8/16 16:27
 **/
@Data
//@Table(name = "sys_menu")
@TableName("sys_menu")
public class Menu implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 菜单id
     */
//    @Id
//    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 菜单名称
     */
    @Column(name = "mname")
    private String mname;

    /**
     * 菜单路径
     */
    private String path;

    /**
     * 菜单图标
     */
    private String icon;

    /**
     * 菜单描述
     */
    private String description;

    /**
     * 菜单父级id
     */
    private Integer pid;

    /**
     * 菜单页面路径
     */
    private String pagePath;

    /**
     * 菜单排序
     */
    private Integer sortNum;

    /**
     * 创建时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss" )//DateTimeFormat 是入参格式化；
    private Date createTime;

    /**
     * 修改时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss" )//DateTimeFormat 是入参格式化；
    private Date updateTime;

    /**
     * 删除标识（0 显示 1禁用）
     */
    private Integer delFlag;

//    @Transient
    @TableField(exist = false)
    private List<Menu> children;

    /**
    * 选择菜单
    */
    private String nametype;

}
